18. 选择好的数据结构

选择好的数据结构

列表

列表的好处体现在:

  1. 数据是有序的(可以根据列表中的位置建立索引)。
  2. 当你需要跟踪重复项时。
  3. 数据是 可变的 (集合中词典的键和元素 必须 是不可变的)。

集合

集合的好处体现在:

  1. 成员测试 速度快
  2. 当你从序列中删除重复项时。
  3. 当你执行交集、合集和差集等数学运算时。

词典

词典的好处体现在:

  1. 当你希望把键和值关联起来时。
  2. 当你想快速执行基于键的查找时。

在表述一维网格世界时(参照贝叶斯定理部分),哪种数据结构最好?

SOLUTION: 列表

你希望把你的国家中每个大城市和人口关联起来。哪种数据结构是存储这种信息的最佳选择?

SOLUTION: 词典

你希望你的无人驾驶车能到达你国家的所有城市。你并不在乎它去每个城市的次数。哪种数据结构是存储车辆去过的所有城市的最佳选择?

SOLUTION: 集合